const cp = require('child_process')
const { resolve } = require('path')
const mongoose = require('mongoose')
const China = mongoose.model('China')

;
(async () => {
    const script = resolve(__dirname, '../crawler/Chinacolor.js')
    const child = cp.fork(script, [])
    let invoked = false

    child.on('error', err => {
        if (invoked) return

        invoked = true

        console.log(err)
    })

    child.on('exit', code => {
        if (invoked) return

        invoked = true

        let err = code === 0 ? null : new Error('exit code ' + code);
        console.log(err)
    })

    child.on('message', data => {
        let result = data.result
        result.forEach(async (item) => {
                color = new China(item)
                await color.save(function (err) {
                    if (err) return console.error(err);
                  })
        
        })
    })

})()